home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d1 / bnchutil.arc / SR.DOC < prev    next >
Text File  |  1991-04-30  |  13KB  |  424 lines

  1.  
  2.  
  3.  
  4.  
  5.                         SPEEDREAD 2.0
  6.  
  7.  
  8.               A  Disk Caching Program for PC Compatibles
  9. ____________________________________________________________________
  10.  
  11.  
  12. * Easy to use.
  13. * Improves disk access times.
  14. * Installs automatically during system initialization.
  15. * Invisible to all other software.
  16. * Works on PC compatibles running MS-DOS with fixed disks.
  17. * Number of buffers used is selectable during initialization.
  18. * High performance record look-up.
  19. * Cached records can have optional checksum attached to them.
  20. * Optional write caching.
  21. * Read-ahead.
  22. * Concurrent caching.
  23. * Directory locking.
  24. * Statistics of operation can be displayed.
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33. WHAT IS SPEEDREAD?
  34. _____________________________________________________________________
  35. SPEEDREAD is a program that may be automatically loaded into the PC
  36. compatible's memory during the system startup. As the system is used ,
  37. SPEEDREAD monitors how often certain parts of the disk are used and
  38. copies the most recently used parts into its internal buffers. If the PC
  39. attemps to read the data again, SPEEDREAD retrieves the data from its
  40. buffers instead of the disk, speeding the transfer.
  41.  
  42.  
  43. SPEEDREAD is not a RAM disk or VDISK. Although it stores data in main
  44. memory (just like a RAM disk), it does not require that all of the files
  45. that you will be using be pre-loaded into memory. Also, there is no limit
  46. to the number or size of files. This is because SPEEDREAD determines what
  47. files or parts of files or directories should be loaded into memory
  48. automatically. Unlike a RAM disk, SPEEDREAD saves all data to the disk so
  49. there is never a danger of data loss during power failures. After you
  50. install SPEEDREAD you can use your hard disk and all its associated
  51. software without modification. The only difference is that disk access
  52. will be faster.
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65. SPEEDREAD Performance
  66. _________________________________________________________________________
  67.  
  68. How much faster can SPEEDREAD make your system? It takes SPEEDREAD less
  69. than two milliseconds (on an 5 MHz 8088) to retrive any record of data
  70. already in its memory. Compared to the average access time of some drives
  71. of about 150 milliseconds, SPEEDREAD could improve performance of certain
  72. operations by a factor of 70! SPEEDREAD also improves average latency
  73. delays by 300% and sequential accesses by 50%. Of course, if the requested
  74. record cannot be found in memory, there is no improvement in speed and a
  75. small delay will be incured as SPEEDREAD copies the missing record.
  76.  
  77. SPEEDREAD can work with large amounts of memory without slowing down. The
  78. amount of time it takes to find a record in memory is unrelated to how
  79. much memory is dedicated to SPEEDREAD. In general, the more memory made
  80. available to SPEEDREAD, the faster the system will go.
  81.  
  82.  
  83. SETTING UP SPEEDREAD
  84. __________________________________________________________________
  85. SPEEDREAD is normally set up during the system initialization by
  86. including SPEEDREAD system commands in the AUTOEXEC.BAT file. To
  87. initialize SPEEDREAD and select how much memory it will use, enter the
  88. following command into your AUTOEXEC.BAT file:
  89.  
  90. SR 300
  91.  
  92. This will initialize SPEEDREAD allow it to use 300 disk buffers. The
  93. minimum allowable number of buffers that you may specify is 64 and
  94. maximum is limited by MS-DOS and the application program you are running
  95. ( this could be as high as 900 buffers ). Each buffer takes up
  96. approximately 550 bytes of space. You should allocate as many buffers as
  97. possible for maximum performance.
  98.  
  99. If you have any difficulty installing SPEEDREAD, try renaming your
  100. AUATOEXEC.BAT file to something else and install SPEEDREAD by hand. If
  101. this works, you may have to juggle SPEDREAD's position in the AUTOEXEC
  102. file.
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135. SPEEDREAD OPTIONS
  136. _________________________________________________________________________
  137.  
  138. SPEEDREAD has a number of options that you can use once it is running.
  139. All these options may be used in the AUTOEXEC.BAT file. These options
  140. allow you to fine tune SPEEDREAD for your system and to request SPEEDREAD
  141. performance statistics.
  142.  
  143. WRITE CACHING
  144. you may select whether disk blocks which are written are also cached.
  145. SPEEDREAD defaults to not caching blocks that are written, though you may
  146. enable this feature if you do a lot of immediate reading  of data that
  147. was just written to disk. A good example of this is the MS-DOS piping
  148. system, since the 'pipes' are actually disk files. To enable and disable
  149. caching of writes,type:
  150.  
  151. SR WRITE ON
  152. SR WRITE OFF
  153.  
  154. CACHE CHECKSUMMING
  155. For extra data integrity, SPEEDREAD can checksum each sector in the
  156. cache. This can be especially handy if you are in a development
  157. environment where program errors can cause acacidental writes to memory.
  158. If a record is found to have a checksum error, it is purged from the
  159. cache, a read is made from disk to fetch the correct record and the
  160. checksum error count is incremented. Reading and writing checksummed
  161. records takes about a millisecond longer an a XT, but sometimes the wait
  162. is worth it. SPEEDREAD defaults to no checksums. The checksum control
  163. commands are:
  164.  
  165. SR CHECK ON
  166. SR CHECK OFF
  167.  
  168. You may notice a pause if you enable checksumming when there are many
  169. cached records. This is because SPEEDREAD has to scan through the entire
  170. cache calculating checksums for all the active records.
  171.  
  172. READ-AHEAD
  173. MS-DOS reads sequential files quite efficienly if the application program
  174. reads many blocks at a time. Unfortunately, some application programs do
  175. not do their own file buffering. Instead they read sequential files block
  176. by block, one record at a time. This causes considerable delays due to
  177. disk latency. If multiple files are being read one block at a time, this
  178. can cause seek for every block read. SPEEDREAD optionally can do the
  179. buffering for applications that don't do their own buffering. If
  180. SPEEDREAD detect that a sequential file has been opened that is being
  181. read one block at a time, it will read ahead a number of blocks and place
  182. them into cache. The actual number of blocks varies from 7 to 16
  183. depending on SPEEDREAD's current configuration. SPEEDREAD defaults to
  184. read-ahead. The read-ahead commands are:
  185.  
  186. SR READAHEAD ON   or SR RA ON
  187. SR READAHEAD OFF  or SR RA OFF
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198. CONCURRENT CACHING
  199. Whenever missed data is read from the disk, SPEEDREAD copies the data
  200. into its internal buffers. The copying usually happens immediately after a
  201. read from the disk. During a DMA disk transfer, the computer's
  202. microprocessor is usually sitting idle. If the concurrent caching option
  203. is selected, SPEEDREAD will copy disk blocks unto its internal buffers
  204. while the DMA transfer from the disk is happening. This saves time
  205. because most of the disk blocks will typically be already copied into
  206. SPEEDREAD's buffers at the end of the disk transfer. In order for
  207. concurrent caching to work, the disk controller must be equippeda with a
  208. Westren Digital concurrent caching BIOS. Without this BIOS, no
  209. concurrent caching is possible. SPEEDREAD defaults to concurrent caching.
  210. The concurrent caching commands are:
  211.  
  212. SR CONCURRENT ON   or  SR CON ON
  213. SR CONCURRENT OFF  or  SR CON OFF
  214.  
  215. DIRECTORY LOCKING
  216. SPEEDREAD can lock certain MS-DOS disk directories into cache. This
  217. allows you to selectively nominate certain disk directories for permanent
  218. inclusion into the cache. Good candidates for this might be the
  219. directories that are part of the PATH command. These directories get
  220. searched every time a command is executed from the MSDOS prompt. to lock
  221. a directory, type:
  222.  
  223. SR LOCK C:\BIN\UTILITY
  224.  
  225. SPEEDREAD will lock all the records in the root directory and \BIN that
  226. are used to arrive at \BIN\UTILITY. After those records are locked, all
  227. the directory entries in UTILITY will be locked. Note that the path need
  228. not be complete. If you are logged into a subdirectory already, SPEEDREAD
  229. will lock all the records from the root directory up to your current
  230. directory. To unlock directory records, type:
  231.  
  232. UNLOCK
  233.  
  234. SPEEDREAD will unlock all directories that have been cached. SPEEDREAD
  235. does not delete these directory entries from the cache. If they remain
  236. unused, they will be deleted by normal cache attrition. Normally it will
  237. not be necessary to lock direcrories into SPEEDREAD because SPEEDREAD
  238. will automatically load directories into its buffers if they are used
  239. frequently enough. In fact, if you lock too many directory buffers, it
  240. will inhibit SPEEDREAD's automatic buffer allocation scheme and cause
  241. impaired performance.
  242.  
  243. CLEARING CACHE or MOUNTING DISKS
  244. All records in SPEEDREAD can be cleared. You 'MUST' do this if you change
  245. a removable 'fixed' disk. If this is not done, severe damage may be done
  246. to the file structure, since MS-DOS cannot sense that the media was
  247. changed. Two synonymous commands for this one function are supported:
  248.  
  249. SR CLEAR
  250. or
  251. SR MOUNT
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262. ON and OFF
  263. SPEEDREAD can be turned on and off after it has been installed. This is
  264. handy especially for doing performance evaluations. Whenever SPEEDREAD is
  265. turned on, all the records in cache are cleared. Note that when SPEEDREAD
  266. is turned off, it and its buffers remain resident. to turn off SPEEDREAD,
  267. type:
  268.  
  269. SR OFF
  270.  
  271. To re-enable cache operations, type:
  272.  
  273. SR ON
  274.  
  275.  
  276. STATISTICS
  277. SPEEDREAD can display a number of interesting statistics. Included are
  278. the number of reads, writes, total number of accesses, the number of
  279. hits, misses, the hit ratio, the number of blocks read-ahead and
  280. concurrent cached. Diagnostic statistics include the number of random
  281. allocations, checksum errors, cache clears, and the number of locked and
  282. unlocked buffers. Optionally a queue bitmap and a list of active records
  283. in cache can be displayed in drive, cylinder, head, and sector format. To
  284. display statistics type:
  285.  
  286. SR STAT
  287.  
  288.  
  289. HELP
  290. In case you forget a command and forget this supplement, a help screen
  291. can be displayed by typing:
  292.  
  293. SR HELP
  294.  
  295.  
  296. FINE TUNING SPEEDREAD
  297. Of course, SPEEDREAD will work just fine by installing it with 200 or 300
  298. buffers, but by experimenting with it a little bit, you can get even
  299. greater performance.
  300.  
  301.  
  302. NUMBER OF MS-DOS BUFFERS
  303. MS-DOS has its own built in caching system. It is used mainly for
  304. directory operations and for reading and writing partial disk records.
  305. The buffer look up system appears to be a sequential search, so if you
  306. have too many buffers allocated, certain operations (especially partial
  307. record reads and writes) are slowed. When running SPEEDREAD it usually is
  308. a good idea to reduce the number of MS-DOS buffers to no more than 12 on
  309. an XT. More buffers (maybe 30) may be specified on 80286 and 80386
  310. machines.
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330. NUMBER of SPEEDREAD BUFFERS
  331. This one parameter will do more for increasing the performance of
  332. SPEEDREAD than any other. To select the optimum number of buffers,
  333. increase the number of buffers every so often. When you notice that
  334. certain applications complain that there is not enough memory, reduce the
  335. number of SPEEDREAD buffers. When you find a number of buffers that seems
  336. to be optium, use the SR STAT command to see how many Random Allocations
  337. are being made. SPEEDREAD is sometimes forced to do random allocations
  338. when an internal buffer cannot be released by normal cache attrition. If
  339. more than a few random allocations are being made in several hours of
  340. computer use, try reducing the number of buffers by 1. To mininize the
  341. number of random allocations, this may have to be repeated more than
  342. once.
  343.  
  344. DISABLING CONCURRENT CACHING
  345. If your disk controller is not equiped with a Westren Digital concurrent
  346. caching BIOS, concurrent caching will be non-operational. The operational
  347. status of concurrent caching can be verified by looking at the number
  348. under "Concurrent Caches" in the status screen. If this number is zero,
  349. chances are good that you do not have the proper BIOS. In this case, you
  350. might want to disable concurrent caching for slightly improved
  351. performance.
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394. ERROR MESSAGES
  395. _________________________________________________________________________
  396.  
  397. You must have DOS version 2.0 or better to run SPEEDREAD.
  398.  
  399.  Your version of DOS is obsolete. SPEEDREAD requires DOS 2.X or 3.X
  400.  
  401.  
  402. Winchester controller not installed or cannot return current parameters.
  403.  
  404.  SPEEDREAD could not find your hard disk controller. This indicates that
  405. your computer did not try to install your hard drive or you are
  406. having hardware problems in your controller.
  407.  
  408.  
  409. Illegal number of buffers specified for this installation.
  410.  
  411.  None of SPEEDREAD's other commands can be excercised until SPEEDREAD is
  412. installed. To install SPEEDREAD you must type SR and a number of buffers.
  413. See installation instructions.
  414.  
  415.  
  416. This version of MS-DOS does not work with Read-ahead.
  417.  
  418.  SPEEDREAD requires that MS-DOS installs a special driver that the
  419. shortcomings of the DMA addressing design in fixed disk BIOS. To use
  420. Read-ahead, you must upgrade to a more current copy of MS-DOS. If you
  421. decide to retain your old MS-DOS, all SPEEDREAD's other features will
  422. remain operational.
  423.  
  424.